<?php
//***********************************************************************
// Назначение: Передача товаров из 1С в virtuemart
// Модуль: offers_xml.php - Импорт содержимого файла offers.xml
// Автор оригинала: Дуденков М.В. (email: mihail@termservis.ru)
// Помогали разрабатывать:	Alexandr Datsiuk
//							Павел Михнев 
//                          CALEORT
// Авторские права: Использовать, а также распространять данный скрипт
// 					разрешается только с разрешением автора скрипта
//***********************************************************************

if ( !defined( 'VM_1CEXPORT' ) )
{
	echo "<h1>Несанкционированный доступ</h1>Ваш IP уже отправлен администратору.";
	die();
}

$log->addEntry ( array ('comment' => 'Этап 4.2.1) Проверка базы данных совместимости 1с и VMSHOP') );

$sql = 'SHOW TABLES LIKE "#__'.$dba['cashgroup_to_1c_db'].'"';
$db->setQuery ( $sql );
$db->query ();
	
if( ! $db->getNumRows () ) 
{
	$db->setQuery ( 
			'CREATE TABLE 
			`#__'.$dba['cashgroup_to_1c_db'].'` ( 
			`cashgroup_id` int(10) unsigned NOT NULL,
			`c_id` varchar(255) NOT NULL,
			KEY (`cashgroup_id`),
			KEY `c_id` (`c_id`)
			) ENGINE=MyISAM DEFAULT CHARSET=utf8'
	 );
	$db->query ();
	
	$log->addEntry ( array ('comment' => 'Этап 4.2.1) База cashgroup_to_1c создана') );			
}

$log->addEntry ( array ('comment' => 'Этап 4.2.1) Добавление цен к товарам') );

$offersFile = JPATH_BASE_PICTURE. DS . 'offers.xml';

$reader = new XMLReader();
$reader->open($offersFile);

$offer = new XMLReader();

$cash_group = new XMLReader();

$base = new XMLReader();
$base->open($offersFile);


if(!$reader)
{
	$log->addEntry ( array ('comment' => 'Этап 4.2.1) Неудача: Ошибка открытия XML') );	
	echo "failure";
	die();
}
else
{
	$log->addEntry ( array ('comment' => 'Этап 4.2.1) XML offers.xml загружен') );
}

$data = array();

$CAT = array();

while($base->read()) 
{
	if($base->nodeType == XMLReader::ELEMENT) 
	{
		switch($base->name) 
		{
			case 'ПакетПредложений':
				require_once(JPATH_BASE_1C .DS.'system'.DS.'clearbase.php');
				clearBase($base->getAttribute("СодержитТолькоИзменения"),'2');
				break;
		}
	}
}
$base->close();

$log->addEntry ( array ('comment' => 'Этап 4.2.2) Базы созданы, переходим к построению ценовых групп и выгрузке цен') );

while($reader->read()) 
{
	if($reader->nodeType == XMLReader::ELEMENT) 
	{
		switch($reader->name) 
		{
			case 'ТипЦены':
				// Подочернее добавление групп
				require_once(JPATH_BASE_1C .DS.'system'.DS.'cashgroup.php');
				inserCashgroup($reader->readOuterXML());
				$reader->next();
				break;
			
			case 'Предложение':
				// Подочернее добавление товара
				require_once(JPATH_BASE_1C .DS.'system'.DS.'offers.php');
				inserOffers($reader->readOuterXML());
				break;
		}
	}
}



$log->addEntry ( array ('comment' => 'Этап 4.2.4) Все цены добавленны (обновленны)') );
$reader->close();

unlink ( JPATH_BASE_PICTURE.DS.'import.xml' );
unlink ( JPATH_BASE_PICTURE.DS.'offers.xml' );
unlink ( JPATH_BASE_1C .DS.'login.tmp' );

echo "success\n";
?>